home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_teo_spike.cog < prev    next >
Text File  |  1999-11-15  |  3KB  |  126 lines

  1. # Jones 3D Cog Script
  2. #
  3. # TEM_Spike.cog
  4. # Player is killed by shooting spike if he/she steps on face.
  5. #
  6. # [TRM]
  7. #
  8. # (C) 1999 LucasArts Entertainment Co. All Rights Reserved
  9. # ========================================================================================
  10.  
  11. symbols
  12.  
  13.     message     startup
  14.     message     entered
  15.     message     touched
  16.     message     arrived
  17.     message     timer
  18.         
  19.     thing       player      local
  20.     thing       deadIndy    local
  21.     thing       spike0
  22.     
  23.     surface     hole0
  24.     
  25.     template    tpl_Indy=indy_sh_actor      local
  26.  
  27.     keyframe    inDie=in_die_buckle.key     local
  28.     
  29.     sound       sndSpike=tem_temspikes_activate_c.wav       local
  30.     sound       sndDie=tem_temspikes_up_kill_c.wav          local
  31.     sound       sndprime=tem_tikikeymove_rotate_c.wav       local
  32.     
  33.     flex        shootSpeed=5.0
  34.     
  35.     int         deadMan=0       local
  36.     int         up=0            local
  37.     int         safe=0          local
  38.     int         victim            local
  39.     
  40. end
  41.        
  42. # ========================================================================================
  43.  
  44. code
  45.  
  46. startup:
  47.  
  48.     player = GetLocalPlayerThing();
  49.     return;
  50.  
  51. # ========================================================================================
  52.  
  53. entered:
  54.  
  55.     if((GetSenderRef() == hole0) && (up == 0))
  56.     {
  57.         up = 1;
  58.         
  59.         PlaySoundLocal(sndSpike, 1.0, 0.0, 0x0, 0);
  60.         MoveToFrame(spike0, 1, shootSpeed);
  61.         SetTimer(3);
  62.     }
  63.         
  64.     return;
  65.  
  66. # ========================================================================================
  67.  
  68. touched:
  69.  
  70.     if((deadMan == 1) || (safe == 1)) return;
  71.  
  72.     if((GetSenderRef() == spike0) && (safe == 0))
  73.     {
  74.         deadMan = 1;
  75.         
  76.         SetCollideType(spike0, 0);
  77.         
  78.         PlaySoundLocal(sndDie, 1.0, 0.0, 0x0, 0);
  79.         
  80.         # Disable and hide player
  81.         #SetActorFlags(player, 0x200000);
  82.         SetThingFlags(player, 0x10);
  83.         
  84.         deadIndy = CreateThing(tpl_Indy, player);
  85.         CaptureThing(deadIndy);
  86.         
  87.         # Show actor Indy and play Keyframe
  88.         ClearThingFlags(deadIndy, 0x80000);
  89.         PlayKey(deadIndy, inDie, 4, 0x14, 0);
  90.         
  91.         DamageThing(player, 1000.0, 0x1, victim);
  92.     }
  93.     
  94.     return;
  95.  
  96. # ========================================================================================
  97.  
  98. arrived:
  99.  
  100.     if((up == 1) && (deadMan == 0))
  101.     {
  102.         safe = 1;
  103.     }
  104.     
  105.     return;
  106.     
  107. # ========================================================================================
  108.  
  109. timer:
  110.  
  111.     MoveToFrame(spike0, 0, 1);
  112.     PlaySoundThing(sndprime, spike0, 1, 1, 5, 0x80);
  113.     WaitForStop(spike0);
  114.     safe = 0;
  115.     up = 0;
  116.     
  117. return;
  118.  
  119.  
  120. # ========================================================================================
  121.     
  122.  
  123. end
  124.  
  125.